﻿/*
 * 2023/3/29
 * 异常过滤器
 * 
 * **/
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;

namespace Max.Ph5_2009A.NewShopping.API.MyFitler
{
    public class MyExceptionFilter : IExceptionFilter
    {
        public void OnException(ExceptionContext context)
        {
            if(!context.ExceptionHandled)
            {
                //表示这个异常没有被处理过，我们来处理
                //处理的方式：记录日志、写入数据库、发邮件、发短信。。。。

                //以写入日志为例
                var log = NLog.LogManager.GetCurrentClassLogger();
                log.Error(context.Exception.Message);

                //返回有好提示
                context.Result = new JsonResult(new { code = 500,message="出错了，请联系管理员！"});
            }
            context.ExceptionHandled = true;
        }
    }
}
